package cn.hebutrun.oulabot.common;

import lombok.Getter;

/**
 * 通用错误枚举
 *
 * @author zhaolong
 */
@Getter
public enum ErrorEnum {

  /** 系统内部异常 */
  INNER_ERROR(2, "系统发生异常，请联系管理员"),
  /** 实体为空 */
  NULL_OBJ(5, "实体为空"),
  /** 实体无数据 */
  EMPTY_OBJ(6, "实体无数据"),
  /** 认证授权失败 */
  UNAUTHORIZED(401, "认证授权失败"),
  /** 无访问权限 */
  FORBIDDEN(403, "无访问权限"),
  /** url路径未找到 */
  NOT_FOUND(404, "路径不存在，请检查路径是否正确"),
  /** 请求参数校验不通过 */
  ARGUMENT_NOT_VALID(1001, "请求参数校验不通过"),
  /** 用户被封号中！ */
  USER_BANNED(1002, "用户被封号中！"),
  /** 用户状态更新 */
  STATE_UPDATE(1003, "用户状态已更新，请重新登录"),
  /** 连接超时 */
  TIME_OUT(1004, "连接超时，请稍后重试"),
  /** token为空 */
  NULL_TOKEN(1005, "请求token为空"),
  /** 定时任务未找到 */
  QUARTZ_NOT_FOUND(1006, "定时任务未找到"),
  /** 定时任务身份已存在 */
  QUARTZ_ALREADY_EXIST(1007, "定时任务Key已存在"),
  /** 定时任务删除失败 */
  QUARTZ_DEL_FAIL(1008, "定时任务删除失败"),
  /** 用户名或密码错误 */
  USER_WRONG(1009, "用户名或密码错误"),
  /** 验证码已过期 */
  VCODE_EXPIRED(1010, "验证码已过期");
  /** 错误码 */
  private final int code;
  /** 错误信息 */
  private final String msg;

  ErrorEnum(int code, String msg) {
    this.code = code;
    this.msg = msg;
  }
}
